package com.mall.course.course.domain.entity;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import lombok.Getter;
import lombok.Setter;
import com.mall.common.annotation.Excel;
import com.mall.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.Null;

@Setter
@Getter
@ApiModel("课程表")
public class CourseEntity extends BaseEntity
{

    /** 课程id */
    private Long id;

    /** 游泳馆id */
    @Excel(name = "游泳馆id")
    @Null(message = "游泳馆id不能为空")
    private Long swimPlaceId;

    /** 课程分类id */
    @Excel(name = "课程分类id")
    private Long categoryId;

    /** 课程名称 */
    @Excel(name = "课程名称")
    private String courseName;

    /** 课程老师 */
    @Excel(name = "课程老师")
    private String courseTeacher;

    /** 课程封面 */
    @Excel(name = "课程封面")
    private String coverUrl;

    /** 课程描述 */
    @Excel(name = "课程描述")
    private String courseDesc;

    /** 课程介绍 */
    @Excel(name = "课程介绍")
    private String courseIntro;

    /** 分类排序 */
    @Excel(name = "分类排序")
    private Integer sortNum;

    /** 状态（0正常 1停用） */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /** 创建者id */
    @Excel(name = "创建者id")
    private Long createId;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 上课开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上课开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date courseStartDate;

    /** 上课截止日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上课截止日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date courseEndDate;

    /** 报名开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "报名开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date signupStartTime;

    /** 报名截止时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "报名截止时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date signupEndTime;

    /** 上课开始时间 */
    @Excel(name = "上课开始时间")
    private String courseStartTime;

    /** 上课截止时间 */
    @Excel(name = "上课截止时间")
    private String courseEndTime;

    /** 游泳课班级 */
    @Excel(name = "游泳课班级")
    private String swimPlaceClassName;

    /** 限制人数 */
    @Excel(name = "限制人数")
    private Integer limitNum;

    /** 省id */
    @Excel(name = "省id")
    private Long provinceId;

    /** 省名称 */
    @Excel(name = "省名称")
    private String provinceName;

    /** 市id */
    @Excel(name = "市id")
    private Long cityId;

    /** 市名称 */
    @Excel(name = "市名称")
    private String cityName;

    /** 区id */
    @Excel(name = "区id")
    private Long areaId;

    /** 区名称 */
    @Excel(name = "区名称")
    private String areaName;

    /** 上课地址 */
    @Excel(name = "上课地址")
    private String address;
}
